#ifndef GAMETD_COINMANAGER_H
#define GAMETD_COINMANAGER_H

#include "SDL.h"
#include "Manager.h"
#include "CornProp.h"

class CoinManager : public Manager<CoinManager> {
    friend class Manager<CoinManager>;

public:
    void IncreaseCoin(double val);
    void DecreaseCoin(double val);
    void OnUpdate(double delta);
    void OnRender(SDL_Renderer *renderer);
    double GetCurrentCoinNum();
    std::vector<CoinProp *> &GetCoinPropList();
    void SpawnCoinProp(const Vector2 &position);

protected:
    CoinManager();
    ~CoinManager();

private:
    double numCoin = 0;
    std::vector<CoinProp *> coinPropList;
};

#endif // GAMETD_COINMANAGER_H
